home *** CD-ROM | disk | FTP | other *** search
Text File | 1998-10-29 | 2.3 KB | 140 lines | [TEXT/CWIE] |
- // GadgetsDoc.c -- document-level functions
-
- #include <Types.h>
- #include <Events.h>
- #include <Menus.h>
- #include <stdlib.h>
-
- #include "Globals.h"
- #include "ResourceDefs.h"
- #include "Dispatcher.h"
- #include "Miscellany.h"
- #include "GadgetsEngine.h"
-
- #include "AboutDialog.h"
- #include "DDocData.h"
- #include "Buttons.h"
- #include "DDocData.h"
- #include "TabbedPanel.h"
- #include "DDocData.h"
- #include "EditText.h"
- #include "GadgetsDoc.h"
-
- static GadgetsEngine* GetEngine (AMDoc* self);
-
- static void DoInvokeAbout (AMDoc* self);
-
- //----------
- GadgetsDoc* NewGadgetsDoc ()
- {
- GadgetsDoc* doc;
-
- doc = (GadgetsDoc*)malloc (sizeof (GadgetsDoc));
- GadgetsDoc_Init (doc);
- SetClassID (doc, classGadgetsDoc);
-
- return doc;
- }
-
- //----------
- void DeleteDoc (
- AMDoc* doc)
- {
- GadgetsDoc_Free ((GadgetsDoc*)doc);
- free (doc);
- }
-
- //----------
- void GadgetsDoc_Init (
- GadgetsDoc* self)
- {
- ((AMDoc*)self)->mEngine = (AMEngine*) NewGadgetsEngine ();
-
- self->mButtonsPtr = nil;
- self->mTabbedPanelPtr = nil;
- self->mEditTextPtr = nil;
- }
-
- //----------
- void GadgetsDoc_Free (
- GadgetsDoc* self)
- {
- }
-
- //----------
- GadgetsEngine* GetEngine (
- AMDoc* self)
- {
- return (GadgetsEngine*) (self->mEngine);
- }
-
- //----------
- void OpenWindows (
- AMDoc* self)
- {
- GadgetsEngine* engine = GetEngine (self);
-
- // replace this code to get data from someplace useful
-
- Buttons_Create (self, GetDocData (engine));
- TabbedPanel_Create (self, GetDocData (engine));
- EditText_Create (self, GetDocData (engine));
- }
-
- //----------
- Boolean WouldCloseDoc (
- AMDoc* doc,
- WindowPtr inWindPtr)
- {
- GadgetsDoc* self = (GadgetsDoc*) doc;
- short numOpen = 0;
-
- if (self->mButtonsPtr != nil) numOpen++;
- if (self->mTabbedPanelPtr != nil) numOpen++;
- if (self->mEditTextPtr != nil) numOpen++;
-
- return (numOpen <= 1);
- }
-
- //----------
- void DoInvokeAbout (
- AMDoc* self)
- {
- if (GetAboutDialog ()) {
- /* do something */
- }
- }
-
- //----------
- Boolean DoDocCommand (
- AMDoc* self,
- long inCommand)
- {
- Boolean result = true;
-
- switch (inCommand) {
- case cmdSave:
- DoSave (self);
- break;
- case cmdSaveAs:
- DoSaveAs (self);
- break;
- case cmdRevert:
- DoRevert (self);
- break;
- case cmdPageSetup:
- DoPageSetup (self);
- break;
- case cmdPrint:
- DoPrint (self);
- break;
- case cmdInvokeAbout:
- DoInvokeAbout (self);
- break;
-
- default:
- result = false;
- } // switch
- return result;
- }
-